namespace CWARN_NOEFFECT_SELF_ASSIGN {
	namespace bad_1 {
		class A {
			int x;
		public:
			A() : x(x) {}
		};
	}

	namespace bad_2 {
		class A {
			int i;
			char c;
			bool b;
		public:
			A(int i, char c) {
				this->i = i;
				this->c = c;
				this->b = b;
			}
		};
	}

	namespace good {
		class A {
			int x;
		public:
			A(int x) : x(x) {}
		};
	}

}